from django.db import models
# Create your models here.


class Area(models.Model):
    """
    行政区划
    """
    name = models.CharField(max_length=20, verbose_name='名称')
    # 在django中设置自关联字段，需要把外检的模型名称改成self,表示当前模型
    # related_name 关联字段的名称[在获取数据的时候使用]
    # department  部门
    # employee    员工  depart部门ID
    # 找指定部门下面的员工->  department_set  -> Django默认提供了 模型类小写_set  -> 通过 related_name　可以修改
    # 在django中如果在自关联字段的表中使用 模型类小写_set　频繁查询数据，会出现数据混乱，所以一般需要使用related_name重新设置一个属性名称
    parent = models.ForeignKey('self', on_delete=models.SET_NULL, related_name='subs', null=True, blank=True, verbose_name='上级行政区划')

    class Meta:
        db_table = 'tb_areas'
        verbose_name = '行政区划'
        verbose_name_plural = '行政区划'

    def __str__(self):
        return self.name
